package com.hakgc.rent.dao;


import com.hakgc.rent.entity.District;

import java.util.List;

/**
 * 区县相关的数据库操作接口
 * @author Xing.Jiejian
 * @date 2020/10/16
 */
public interface DistrictDao {
    /**
     * 保存(新增)区县
     * @param district 待保存对象
     * @return 保存成功or失败
     */
    boolean save(District district);

    /**
     * 修改区县
     * @param district 待保存对象
     * @return 修改成功or失败
     */
    boolean update(District district);

    /**
     * 根据主键删除区县
     * @param id 主键
     * @return 删除成功or失败
     */
    boolean deleteById(int id);

    /**
     * 根据主键查找区县对象
     * @param id 主键
     * @return 区县对象
     */
    District findById(int id);

    /**
     * 查找所有的区县信息
     * @return 区县的集合
     */
    List<District> findAll();

    /**
     * 根据分页参数查询区县集合
     * @param offset 偏移量
     * @param limit 最大显示数量
     * @return 区县集合
     */
    List<District> findByLimit(int offset,int limit);

    /**
     * 模糊查询分页区县集合
     * @param likeName 区县名
     * @param offset 偏移量
     * @param limit 最大显示数量
     * @return 区县集合
     */
    List<District> findByLimit(String likeName, int offset,int limit);

    /**
     * 获取区县总数量
     * @return 总记录数
     */
    int getAllCount();

    /**
     * 获取区县总数量
     * @param likeName 模糊查询区县名
     * @return 总记录数
     */
    int getAllCount(String likeName);
}
